LinuC-1 - 102試験 - 1.07:ネットワークの基礎 - 1.07.2 基本的なネットワーク構成

Last Update : August 21 2022 17:47:13

     

a. ネットワーク設定

まず、ネットワークサービスで必要なファイルについて以下に列挙します。

 /etc/hosts IPアドレスとホスト名の対応表
 /etc/host.conf 名前を解決する時の優先順
 /etc/nsswitch.conf 名前を解決する時の優先順(NIS+も指定可能)
 /etc/resolv.conf DNSサーバ・ドメインの指定
 /etc/sysconfig/network ホスト名やデフォルトゲートウェイの指定
 /etc/sysconfig/network-scripsts/ifcfg-eth0 NICデバイスの指定

IPアドレスを設定するファイルは、「/etc/sysconfig/network-scripts/ifcfg-eth0」になります。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 <---ネットワークインターフェースのデバイス名 BOOTPROTO=static  <---静的(固定)IPアドレス設定。システム起動時にIP アドレス等を割り当てられるしくみを利用するか否かの設定(BOOTP/DHCP/NONE or Static) BROADCAST=192.168.1.255  <---ブロードキャストアドレス IPADDR=192.168.1.11  <---IPアドレス NETMASK=255.255.255.0  <---サブネットマスク NETWORK=192.168.1.0  <---ネットワークアドレス ONBOOT=yes  <---起動時に有効にするかどうか(yes/no)

「/etc/sysconfig/network」は、データが他のネットワークへ転送されるゲートウェイのアドレスとホスト名を記述します。

# vi /etc/sysconfig/network
NETWORKING=yes <---ネットワークが有効か無効か HOSTNAME=test01 <---ホスト名(FQDN:完全修飾型ドメイン名) GATEWAY=192.168.1.1 <---デフォルトゲートウェイ GATEWAYDEV=eth0 <---デフォルトゲートウェイのネットワークインターフェイス名 TIMESERVERATBOOT=no <---タイムサーバーの使用、不使用を指定

この設定ファイルは、その他のネットワーク関連スクリプトから参照されています。

  • NETORKING
    /etc/init.d/network から参照され、no の場合、スクリプト実行時点に何も行わず、直ちに終了します。
  • GATEWAY, GATEWAYDEV
    /etc/sysconfig/network-script/ifup から参照され、この情報をもとにルーティングテーブルを設定します。(ifupスクリプト内でrouteコマンドを実行しています
  • HOSTNAME, DOMAINNAME
    rc.sysinitスクリプトで参照され、hostnameコマンドでカーネルが保有するホスト名、ドメイン名の設定に使用されます

「/etc/hosts」ファイルには、ネットワーク内のシステムのIP アドレスとホスト名の対応を記述します。IPアドレス、ホスト名、ホストの別名をスペースで区切って1行ずつ記述します。

# vi /etc/hosts
192.168.0.197 host2.your.domain.name host2 127.0.0.1 localhost.localdomain localhost

「/etc/resolv.conf」ファイルには、ホスト名からIP アドレスを調べるために利用するネームサーバーのIP アドレスや、ホストを探すためのドメイン名などを記述します。

# vi /etc/resolv.conf
domain your.domain.name search your.domain.name nameserver 192.168.1.11

domain 行には接続しているLAN のローカルドメイン名、search 行にはホスト名を調べるために使うドメイン名を記述します。ネームサーバーが複数あるときには、nameserver 行を3 つまで記述できます。

/etc/hostname は、自分自身のホスト名が記述されています。/etc/HOSTNAMEの場合もあります。
ただし、Red Hat 系のディストリビューションでは、/etc/hostnameファイルは存在せず、ホスト名は、/etc/sysconfig/networkファイルに記述されています。

/etc/host.conf は名前解決を行う時の問い合わせ順序が記述されています。ただし、最近では、/etc/nsswitch.confに記述されている順序が優先されます。

/etc/nsswitch.conf も名前解決を行う時の問い合わせ順序が記述されています。

# vi /etc/nsswitch.conf
passwd: files shadow: files group: files #hosts: db files nisplus nis dns hosts: files nisplus dns

hostsの行に名前解決の順序が記述されていて、例の場合は、/etc/hosts (files)が一番に、次に NIS+ (nisplus)を調べ、最後に dns を使って調べるようになっています。


b. ネットワークインターフェイス設定

1.ネットワーク設定を確認・設定する[ ifconfig ]

ネットワーク・インタフェースに割り当てられているIPアドレスやネットマスクなどを確認・設定・起動・停止を行います。設定・起動・停止にはルート権限が必要です。また、設定・起動・停止時には必ずインタフェースを指定する必要があります。インタフェース名には/etc/modprobe.confや/etc/module.confファイルなどに設定したエイリアス名(eth0など)を利用します。ネットワーク・インタフェースの設定状況を確認した場合に表示される内容は以下の通りです。

# ifconfig
eth0 Link encap:Ethernet HWaddr 00:14:5E:32:2C:34 inet addr:192.168.1.253 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::214:5eff:fe32:2c34/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:119995959 errors:0 dropped:0 overruns:0 frame:0 TX packets:120037363 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3211778655 (2.9 GiB) TX bytes:2211989469 (2.0 GiB) Interrupt:169 Memory:dcff0000-dd000000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:3141343 errors:0 dropped:0 overruns:0 frame:0 TX packets:3141343 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:260109447 (248.0 MiB) TX bytes:260109447 (248.0 MiB)

● ifconfig コマンド構文
  ifconfig [ネットワークインターフェイス名] [パラメータ]

一時的にネットワークインターフェイスeth0に、IPアドレス 192.168.1.100、サブネットマスク 255.255.255.0を設定する場合

# ifconfig eth0 192.168.1.100 netmask 255.255.255.0

上のコマンドを実行するとeth0は変更されるが、コンピュータが再起動されると設定がなくなるので、常に設定しておきたい場合には、/etc/sysconfig/network-scripts/ifcfg-eth0のファイルに記述しておきます。

一時的にネットワークインターフェイスeth0を無効にする場合

# ifconfig eth0 down


2.ネットワーク設定を有効にする[ ifup ]

設定したネットワークインターフェースを有効にする場合、ifupコマンドを実行する。

  ifup [ネットワークインターフェイス名]

ネットワークインターフェイスeth0を有効にする場合

# ifup eth0 


3.ネットワーク設定を無効にする[ ifdown ]

設定したネットワークインターフェースを無効にする場合、ifdownコマンドを実行する。

  ifdown [ネットワークインターフェイス名]

ネットワークインターフェイスeth0を無効にする場合

# ifdown eth0 

4.ネットワーク設定を変更する[ nmcli ]

設定したネットワークインターフェースの設定を変更する場合、nmcliコマンドを実行する。
nmcli(Network Manager command-line)は、NetworkManagerを介してネットワークの状況を確認したり、設定を変更するコマンドです。

● Device と Connection

【 Device 】
Deviceは、"enp0s3" とか "eth0" といった物理インターフェース名のことです。
物理インターフェースがLinux Kernelに認識されると、自動的にDeviceは追加されます。

現在認識されている Device を一覧表示するには、以下のコマンドを実行します。

$ nmcli device  DEVICE TYPE STATE CONNECTION ens160 ethernet 接続済み ens160 lo loopback 管理無し --

【 Connection 】
Connectionとは、論理インターフェース、または設定オブジェクトのことです。
Connectionはユーザーが明示的に作成し、Deviceに紐づけて設定反映することで効果を発揮します。

IPアドレスやVLAN-IDなどのネットワーク設定は、全てConnectionに対して行います。
そしてConnectionをDeviceに対して紐づけると、ネットワーク設定が物理インターフェースに対して適用されることになります。
現在設定されている Connection を一覧表示するには、以下のコマンドを実行します。

$ nmcli connection 
NAME UUID TYPE DEVICE ens160 9a1b8f11-f529-3b37-8c7d-b43597de82eb ethernet ens160

● nmcli コマンド構文
  nmcli [オプション] オブジェクト コマンド

●オブジェクトの種類
 g (general)一般設定を行う
 n (network)ネットワークの設定を行う
 c (connection)コネクションの設定を行う
 d (device)デバイスの設定を行う

※ デバイスは物理NICの事です。イーサネット(eth0)などの物理インターフェースことです。
※ コネクションは、デバイスに設定したいネットワーク設定の事です。

● ネットワーク状態の一覧を確認
$ nmcli
ens33: 接続済み から ens33 "Intel 82545EM" ethernet (e1000), 00:0C:29:4A:F1:22, hw, mtu 1500 ip4 デフォルト, ip6 デフォルト inet4 192.168.1.69/24 route4 192.168.1.0/24 metric 100 route4 default via 192.168.1.1 metric 100 inet6 240b:250:7040:c500:e49a:5e1d:bb1:7548/64 inet6 fe80::206b:b5ee:2ced:7b17/64 route6 fe80::/64 metric 1024 route6 240b:250:7040:c500::/64 metric 100 route6 default via fe80::5a52:8aff:fe13:faa metric 100 virbr0: 接続済み (外部) から virbr0 "virbr0" bridge, 52:54:00:36:38:AD, sw, mtu 1500 inet4 192.168.122.1/24 route4 192.168.122.0/24 metric 0
● コネクションの状態を確認
$ nmcli connection 
NAME UUID TYPE DEVICE ens33 671c89e2-4abe-4145-9764-d3977a5250a3 ethernet ens33 virbr0 9d6c7007-64e6-443b-aa34-8564d3321c76 bridge virbr0

● デバイスの状態を確認
$ nmcli device 
DEVICE TYPE STATE CONNECTION ens33 ethernet 接続済み ens33 virbr0 bridge 接続済み (外部) virbr0 lo loopback 管理無し --

● コネクションを有効化
# nmcli connection up ens33

● コネクションを無効化
# nmcli connection down ens33

● イーサネットコネクションを作成(IPv4/v6自動、自動接続)
# nmcli connection add type ethernet con-name ens33 ifname ens33

● コネクションの設定値を確認
$ nmcli connection show ens33
connection.id: ens33 connection.uuid: 671c89e2-4abe-4145-9764-d3977a5250a3 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: ens33 connection.autoconnect: はい connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.timestamp: 1660279146 connection.read-only: いいえ ・ ・ ・

● IPv4アドレスを手動で設定
$ nmcli connection modifi ens33 ipv4.method manual ipv4.address 192.168.1.110

上記の例では、ens33はコネクション名

● IPv4デフォルトゲートウェイを設定
# nmcli connection modify ens33 ipv4.gateway 192.168.1.1

● コネクションの自動接続を解除
# nmcli connection modify ens33 connection.autoconnect no

● 無線コネクションを作成
# nmcli device wifi connect ssid12345 wifipassword ifname 

nmcli device wifi connect {SSID} [password パス] [ifname デバイス名] [con-name コネクション名]


● 現在のホスト名の確認
$ nmcli general hostname host01.local

● ホスト名の変更
# nmcli general hostname host1.local



z. 出題範囲概要

概要 :
  • ホスト上の設定を参照、変更、確認できる。

詳細 :
  • ネットワークインターフェイスの設定を手作業および自動で行う。
    /etc/hostname
    ifconfig, ifup, ifdown, nmcli
    ip addr
  • ホストの基本的なTCP/IP設定
    /etc/hosts, /etc/nsswitch.conf, ping
  • デフォルトルートの設定
    ip route, route

  [ 例題 ] 


         

    www.it-shikaku.jp